Cancel deal .
# 1. Tổng quan
- Action URL:
/api/v1/deals/cancel - Đặc tả chi tiết: Swagger Link (opens new window)
- Chức năng: Cập nhật stage của Opportunity sang Closed Lost.
- Điều kiện áp dụng:
- Chỉ dành cho tài khoản Agency có quyền truy cập hợp lệ.
- Cần cung cấp đúng thông tin xác thực trong header (token, password, account).
# 2. Hướng dẫn
- Bước 1: Xây dựng request với đầy đủ header và body.
- Bước 2: Gửi request
POSTtới Action URL. - Bước 3: Nhận về response chứa danh sách invoices.
# 3. Request
# 3.1 Ví dụ (Request body)
{
"dealId": "6898dc15746540da9",
"reason": "string"
}
# 3.2 Cấu trúc dữ liệu Request
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|---|
dealId | Có | String | Mã định danh của deal/opportunity cần lấy invoices | 6898dc15746540da9 |
reason | Có | String | Lý do cập nhật stage/đóng deal | "Khách hàng không còn nhu cầu" |
# 4. Response
# 4.1 Ví dụ
{
"StatusCode": 200,
"Timestamp": "8:55:42 AM",
"Path": "/api/v1/deals/retrieve-by-id",
"Message": "Lấy thông tin deal thành công",
"Data": {
"dealId": "68faf3c37620f17e2",
"deal": {
"id": "68faf3c37620f17e2",
"name": "Đặt vé VJ - SZ2KCT - 24/10/2025",
"deleted": false,
"amount": 1552900,
"amountWeightedConverted": 310580,
"stage": "Proposed",
"lastStage": "Proposed",
"probability": 20,
"closeDate": "2025-10-24",
"description": "Deal tự động từ đặt vé VJ (BASIC) - Mã đặt chỗ: SZ2KCT - Số hành khách: 1 - Tổng giá trị: 1,552,900 VND",
"createdAt": "2025-10-24 03:34:27",
"modifiedAt": "2025-10-24 03:34:27",
"itemList": [
{
"id": "68faf3c3842ce594d",
"name": "VJ - Loại hành khách: ADT",
"deleted": false,
"quantity": 1,
"quantityInt": 1,
"unitPrice": 1552900,
"amount": 1552900,
"order": 1,
"opportunityStage": "Proposed",
"description": "Người lớn - Giá cơ bản: 1,552,900 VND, Thuế: 0 VND - QUANG MINH PHAM",
"createdAt": "2025-10-24 03:34:27",
"modifiedAt": "2025-10-24 03:34:27",
"ticketNumber": "TEMP_SZ2KCT_001_1761276867",
"typeCustomer": "Adt",
"unitPriceCurrency": "VND",
"amountCurrency": "VND",
"opportunityId": "68faf3c37620f17e2",
"opportunityName": "Đặt vé VJ - SZ2KCT - 24/10/2025",
"productId": "vna_ticket_ADT",
"productName": null,
"unitPriceConverted": 1552900,
"amountConverted": 1552900,
"createdById": "6881f07ca7eeeff20",
"createdByName": "Dũng Dụng Cụ",
"modifiedById": null,
"modifiedByName": null,
"leadId": "68faf3c364304c5ca",
"leadName": "QUANG MINH PHAM"
}
],
"amountCurrency": "VND",
"amountConverted": 1552900,
"accountId": "6889d276c29be3270",
"accountName": "1a_1b",
"contactsIds": [
"68b15af0c9002d09b"
],
"contactsNames": {
"68b15af0c9002d09b": "Business Name"
},
"contactsColumns": {
"68b15af0c9002d09b": {
"role": null
}
},
"contactId": "68b15af0c9002d09b",
"contactName": "Business Name",
"createdById": "6881f07ca7eeeff20",
"propertyId": null,
"bookingCode": "SZ2KCT",
"serviceBooking": "OTHER",
"propertyName": null,
"requestId": null,
"requestName": null,
"isFollowed": false,
"leadSource": null,
"oppCode": "#OPC00680",
"priority": "High",
"campaignId": null,
"campaignName": null,
"originalLeadId": null,
"originalLeadName": null,
"createdByName": "Dũng Dụng Cụ",
"modifiedById": "6881f07ca7eeeff20",
"modifiedByName": "Dũng Dụng Cụ",
"assignedUserId": "6881f07ca7eeeff20",
"assignedUserName": "Dũng Dụng Cụ"
},
"invoices": [
{
"id": "68faf3c3873bd161a",
"name": "Hóa đơn Đặt vé VJ - SZ2KCT - 24/10/2025",
"status": "Paid",
"dateInvoiced": "2025-10-24",
"description": "Hóa đơn tự động từ đặt vé VJ (BASIC) - Mã đặt chỗ: SZ2KCT - Bao gồm vé chuyến bay, ghế ngồi, hành lý, dịch vụ và thông tin giá vé",
"amount": 1552900,
"grandTotalAmount": 1552900,
"itemList": [
{
"id": "68faf3c395ee2c1ce",
"name": "VJ - Loại hành khách: ADT",
"quantity": 1,
"unitPrice": 1552900,
"amount": 1552900,
"order": 1,
"description": "Người lớn - Giá cơ bản: 1,552,900 VND, Thuế: 0 VND - QUANG MINH PHAM",
"createdAt": "2025-10-24 03:34:27",
"unitPriceCurrency": "VND",
"amountCurrency": "VND",
"invoiceId": "68faf3c3873bd161a",
"invoiceName": "Hóa đơn Đặt vé VJ - SZ2KCT - 24/10/2025",
"productId": "vna_ticket_ADT",
"productName": null,
"taxRate": 0,
"createdById": "6881f07ca7eeeff20",
"invoiceStatus": "Paid",
"accountId": null
}
],
"createdAt": "2025-10-24 03:34:27",
"modifiedAt": "2025-10-24 03:41:01",
"type": "FLIGHT",
"amountCurrency": "VND",
"accountId": "6889d276c29be3270",
"accountName": "1a_1b",
"opportunityId": "68faf3c37620f17e2",
"opportunityName": "Đặt vé VJ - SZ2KCT - 24/10/2025",
"assignedUserId": "6881f07ca7eeeff20",
"createdById": "6881f07ca7eeeff20",
"closeDate": null
}
],
"leads": [
{
"id": "68faf3c364304c5ca",
"name": "QUANG MINH PHAM",
"deleted": false,
"salutationName": "Mr.",
"firstName": "QUANG MINH",
"lastName": "PHAM",
"middleName": null,
"title": null,
"status": "New",
"source": "EXISTING_CUSTOMER",
"industry": "TRAVEL",
"opportunityAmount": 0,
"website": null,
"addressStreet": null,
"addressCity": null,
"addressState": null,
"addressCountry": null,
"addressPostalCode": null,
"emailAddress": null,
"phoneNumber": "+84987654222",
"doNotCall": false,
"description": "Lead tự động từ giữ chỗ VJ (BASIC) - Mã đặt chỗ: SZ2KCT - Hành khách: QUANG MINH PHAM (ADT) - Giá vé: 0 VND - Dịch vụ bổ sung: 0 VND",
"createdAt": "2025-10-24 03:34:27",
"modifiedAt": "2025-10-24 03:34:27",
"accountName": null,
"createdAccountId": null,
"createdAccountName": null,
"createdContactId": null,
"createdContactName": null,
"createdOpportunityId": null,
"createdOpportunityName": null,
"opportunityItemId": "68faf3c3842ce594d",
"opportunityItemName": "VJ - Loại hành khách: ADT",
"convertedAt": null,
"opportunityAmountCurrency": "VND",
"opportunityAmountConverted": 0,
"emailAddressIsOptedOut": null,
"emailAddressIsInvalid": null,
"phoneNumberIsOptedOut": false,
"phoneNumberIsInvalid": false,
"emailAddressData": [],
"phoneNumberData": [
{
"phoneNumber": "+84987654222",
"type": "Mobile",
"primary": true,
"optOut": false,
"invalid": false
}
],
"createdById": "6881f07ca7eeeff20",
"createdByName": "Dũng Dụng Cụ",
"assignedUserId": "6881f07ca7eeeff20",
"assignedUserName": "Dũng Dụng Cụ",
"campaignId": null,
"campaignName": null,
"isFollowed": false,
"bookingCode": "SZ2KCT",
"ticketNumber": "TEMP_SZ2KCT_001_1761276867",
"modifiedById": "6881f07ca7eeeff20",
"modifiedByName": "Dũng Dụng Cụ"
}
],
"retrievedAt": "2025-10-24T08:55:41.839Z",
"summary": {
"notesCreated": 1,
"invoicesFound": 1,
"leadsFound": 1
}
},
"Errors": null,
"RequestId": "req_1761296140823_civ135edf",
"TotalDuration": 1219
}
# 4.2 Bảng mô tả trường (Response)
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|---|
| StatusCode | String | String | Tình trạng tạo sub | |
| Timestamp | String | String | Thời gian xử lý request | |
| Path | String | String | ||
| Message | String | String | Thông báo kết quả | |
| Errors | Không | String | Thông tin lỗi nếu có | |
| RequestId | String | String | Mã định danh request | |
| TotalDuration | String | string | Thời gian xử lý (ms) | |
| dealId | Bắt buộc | String | ID của deal được truy xuất | |
| deal | String | Thông tin chi tiết của deal | ||
| invoices | String | Danh sách hóa đơn liên quan đến deal | ||
| leads | String | Danh sách khách hàng tiềm năng (leads) liên quan | ||
| retrievedAt | String | Thời điểm truy xuất dữ liệu | ||
| summary | String | Thông tin tóm tắt (số lượng ghi chú, hóa đơn, lead) | ||
| id | Có | String | Mã định danh của deal | |
| name | Có | String | Tên deal | |
| deleted | Có | Boolean | Trạng thái đã xóa hay chưa | |
| amount | Có | Number | Giá trị tổng của deal | |
| amountWeightedConverted | Không | Number | Giá trị có trọng số theo xác xuất | |
| stage | Có | String | Giai đoạn hiện tại của deal | |
| lastStage | Không | String | Giai đoạn trược đó | |
| probability | Không | Number | Xác xuất thành công | |
| closeDate | Không | String | Ngày dự kiến chốt deal | |
| description | Không | String | Mô tả chi tiết | |
| createdAt | Có | String | Ngày tạo deal | |
| modifiedAt | Có | String | Ngày cập nhật gần nhất | |
| itemList | Không | Array | Danh sách sản phẩm /dịch vụ trong deal | |
| amountCurrency | Có | String | Đơn vị tiền tệ | |
| accountId | Có | String | ID của tài khoản liên quan | |
| accountName | Có | String | Tên tài khoản liên quan | |
| contactId | Không | String | ID liên hệ | |
| contactName | Không | String | Tên liên hệ chính | |
| createdById | Có | String | ID người tạo | |
| createdByName | Có | String | Tên người tạo | |
| assignedUserId | Không | String | Mã đặt chỗ | |
| assignedUserName | Không | String | Tên người được giao | |
| bookingCode | Không | String | Mã đặt chỗ | |
| serviceBooking | Không | String | Loại dịch vụ | |
| priority | Không | String | Mức độ ưu tiên | |
| oppCode | Không | String | Mã cơ hội | |
| isFollowed | Không | Boolean | Được theo dõi hay không |
# Bảng mô tả mã tình trạng tạo sub
| Mã | Ý nghĩa |
|---|---|
| 200 | Thành công |
| 400 | Dữ liệu không hợp lệ |
| 401 | Không có quyền tạo sub |
| 404 | DealId không tồn tại trong hệ thống |
| 500 | Lỗi từ phía server |